package com.xhu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xhu.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

// mybatisplus：mapper 层接口，BaseMapper<T>    service 层接口：IService<T>    <T> 表示操作的实体类
// 建议：单表操作，直接使用 mybatisplus 提供的方法，多表操作，自己写 SQL
// 实体 User 的 dao 接口
public interface UserMapper extends BaseMapper<User> {
    // 登录：如果需要传递给 SQL 语句的参数大于等于 2，那么不能直接传递，三种方法处理
    // 1、map 集合   2、对象    3、@Param 注解
    //登录
    User login(@Param("username") String username,
               @Param("password") String password);

    //修改
    @Update("UPDATE `user` u "+
            "SET u.`password`= #{password} "+
            " WHERE " +
            " u.username =  #{username} ")
    void updatePassword(@Param("username") String username,
                        @Param("password") String password);

    @Insert("INSERT INTO `user`(username,`password`) "+
            "values (#{username},#{password})")
    void register(@Param("username")String username,@Param("password")String password);
}
